﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CajaChica.Clases;
namespace CajaChica.Formularios
{
    public partial class frmMaestroDocumentos : CajaChica.Formularios.frmMaestro
    {
        clsDocumentos objDocumento;
        public frmMaestroDocumentos()
        {
            InitializeComponent();
        }

        private void btnNuevoSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnNuevoLimpiar_Click(object sender, EventArgs e)
        {
            textBoxX1.Text = "";
            textBoxX2.Text = "";
            textBoxX3.Text = "";
        }

        private void btnModificarSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnEliminarSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnVerSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void frmMaestroDocumentos_Load(object sender, EventArgs e)
        {
            objDocumento = new clsDocumentos();
            textBoxX1.CharacterCasing = CharacterCasing.Upper;
            textBoxX2.CharacterCasing = CharacterCasing.Upper;
            textBoxX3.CharacterCasing = CharacterCasing.Upper;
            this.grdListado.AutoGenerateColumns = false;
            this.grdListado.DataSource = objDocumento.CargarDatosGridView();
            this.AsignarPropiedadesDataGridView();
        }

        private void AsignarPropiedadesDataGridView()
        {
            grdListado.AutoGenerateColumns = false;
            grdListado.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            grdListado.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            grdListado.Columns[0].DataPropertyName = "CODIGO";
            grdListado.Columns[1].DataPropertyName = "DOCUMENTO";
            grdListado.Columns[0].Width = 80;
        }

        private void sbpNuevo_Click(object sender, EventArgs e)
        {
            sbMantenimiento.ExpandedPanel = sbpNuevo;
            stcMaestro.SelectedTab = stiRegistro;
            textBoxX2.Select();
        }

        private void btnNuevoGuardar_Click(object sender, EventArgs e)
        {
            objDocumento = new clsDocumentos();
            try
            {
                objDocumento.Guardar(textBoxX2.Text.Trim(), textBoxX3.Text.Trim());
                MessageBox.Show(
                    "SE AGREGO UN NUEVO DOCUMENTO",
                    "SISTEMA DE CAJA CHICA",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Information);
                grdListado.DataSource = objDocumento.CargarDatosGridView();
                sbMantenimiento.ExpandedPanel = sbpVer;
                stcMaestro.SelectedTab = stiListado;
                this.LimpiarControlesText();
            }
            catch(Exception ex)
            { 
                MessageBox.Show(
                    "SE PRODUJO UN ERROR AL GUARDAR EL DOCUMENTO\nINTENTE DE NUEVO",
                    "SISTEMA DE CAJA CHICA",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error);
            }
        }

        private void LimpiarControlesText()
        {
            textBoxX1.Text = "";
            textBoxX2.Text = "";
            textBoxX3.Text = "";
        }

        private void btnNuevoCancelar_Click(object sender, EventArgs e)
        {
            this.LimpiarControlesText();
            sbMantenimiento.ExpandedPanel = sbpVer;
            stcMaestro.SelectedTab = stiListado;
        }

        private void btnEliminarEliminar_Click(object sender, EventArgs e)
        {
            objDocumento = new clsDocumentos();
            string codigo = grdListado.CurrentRow.Cells[0].Value.ToString();
            DialogResult respuesta = MessageBox.Show("¿DESEA ELIMINAR EL DOCUMENTO?",
                "SISTEMA DE CAJA CHICA", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (respuesta == DialogResult.Yes)
            {
                try
                {
                    objDocumento.Eliminar(codigo);
                    this.LimpiarControlesText();
                    grdListado.DataSource = objDocumento.CargarDatosGridView();
                    MessageBox.Show("SE HA ELIMINADO EL DOCUMENTO SELECCIONADO", "SISTEMA DE CAJA CHICA",
                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                    stcMaestro.SelectedTab = stiListado;
                    sbMantenimiento.ExpandedPanel = sbpVer;
                }
                catch (Exception ex)
                {
                    MessageBox.Show("SE HA PRODUCIDO UN ERROR AL \nELIMINAR EL DOCUMENTO",
                        "SISTEMA DE CAJA CHICA", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }

        private void btnModificarSeleccionar_Click(object sender, EventArgs e)
        {
            string codigo, documento;
            codigo = grdListado.CurrentRow.Cells[0].Value.ToString();
            documento = grdListado.CurrentRow.Cells[1].Value.ToString();
            textBoxX2.Text = codigo;
            textBoxX3.Text = documento;
            sbMantenimiento.ExpandedPanel = sbpModificar;
            stcMaestro.SelectedTab = stiRegistro;
        }

        private void grdListado_DoubleClick(object sender, EventArgs e)
        {
            string codigo, documento;
            codigo = grdListado.CurrentRow.Cells[0].Value.ToString();
            documento = grdListado.CurrentRow.Cells[1].Value.ToString();
            textBoxX2.Text = codigo;
            textBoxX3.Text = documento;
            sbMantenimiento.ExpandedPanel = sbpModificar;
            stcMaestro.SelectedTab = stiRegistro;
        }

        private void btnModificarGuardarCambios_Click(object sender, EventArgs e)
        {
            objDocumento = new clsDocumentos();
            try
            {
                objDocumento.GuardarCambios(textBoxX2.Text.Trim(), textBoxX3.Text.Trim());
                MessageBox.Show(
                    "SE GUARDARON LOS CAMBIOS",
                    "SISTEMA DE CAJA CHICA",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Information);
                grdListado.DataSource = objDocumento.CargarDatosGridView();
                sbMantenimiento.ExpandedPanel = sbpVer;
                stcMaestro.SelectedTab = stiListado;
                this.LimpiarControlesText();
            }
            catch (Exception ex)
            {
                MessageBox.Show(
                    "SE PRODUJO UN ERROR AL GUARDAR LOS CAMBIOS\nINTENTE DE NUEVO",
                    "SISTEMA DE CAJA CHICA",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error);
            }
        }

        private void btnModificarCancelar_Click(object sender, EventArgs e)
        {
            this.LimpiarControlesText();
            sbMantenimiento.ExpandedPanel = sbpVer;
            stcMaestro.SelectedTab = stiListado;
        }

        private void textBoxX1_TextChanged(object sender, EventArgs e)
        {
            objDocumento = new clsDocumentos();
            if (string.Empty != textBoxX1.Text.Trim())
            {
                grdListado.DataSource = objDocumento.BuscarDatosGridView(textBoxX1.Text.Trim());
            }
            else
            {
                grdListado.DataSource = objDocumento.CargarDatosGridView();
            }
        }
    }
}
